package org.zxp.datastructure.map.lru;

import org.junit.Test;

/**
 * @program: effectiveJava
 * @description:
 * @author: X-Pacific zhang
 * @create: 2019-07-24 11:26
 **/
public class TestLRU {
    @Test
    public void testLRU(){
        LinkedHashMapLRU lru = new LinkedHashMapLRU(5);
        lru.put("a", 1);
        lru.put("b", 1);
        lru.put("c", 1);
        lru.put("d", 1);
        lru.print();

        //新增缓存，如果队列没满将新增元素插入队列尾部
        lru.put("e", 1);
        lru.print();
        //新增缓存，如果队列满了则移除头部一个元素，并将新增元素插入队列尾部
        lru.put("f", 1);
        lru.print();

        //查找缓存，命中后放置队列尾部
        lru.get("b");
        lru.print();
        //新增缓存，如果是已经存在的缓存放置队列尾部
        lru.put("c", 2);
        lru.print();


        lru.get("dddd");
        lru.print();

    }
}
